linux下的DV磁带视频采集和dvd刻录
2007-02-13    刘世伟   
打印自: 安恒公司
地址: HTTP://1394.anheng.com.cn/news/article.php?articleid=953
linux下的DV磁带视频采集和dvd刻录
需要的软件:
dvgrab  抓取dv磁带到原始格式 20G/盘
ffmpeg  视频转换 dv原始格式到dvd-video 或者mpeg4
dvdauthor 将mpeg2转换到DVD目录结构
mkisofs 将DVD目录生成iso
growisofs 将iso写进光驱

在debian下安装:
aptitude install dvgrab ffmpeg dvdauthor mkisofs growisofs

操作步骤:
1.倒带,接上1394接口线

2.执行抓取命令
 dvgrab --opendml --size 0 --autosplit --timestamp  dv
 dv机将自动开始播放,计算机的当前目录会生成一堆的avi文件,按照当时拍摄是时间命名 每张盘大约20G空间
 在此过程中,可以随意操作dv,计算机会自动抓取文件.屏幕有信息提示.
 ctrl-c终止抓取

3.视频转换
  ffmpeg -i dv2007.02.20_20-01-20.avi  -aspect 4:3 -target pal-dvd $dv2007.02.20_20-01-20.mpeg2
  为了批量处理需要写一个脚本
===================dv2dvd.sh=====
#!/bin/bash
ffmpeg -i $1  -aspect 4:3 -target pal-dvd ${1%\.avi}.mpeg2
==================================
然后在当前目录执行如下命令会自动转换所有的文件
find . -name *.avi -exec dv2dvd.sh {} \;

转换完检查看看文件有没有错误的,如果有错误文件,会造成下面第4步中批处理终止
file *.mpeg2 |more

4.形成DVD目录结构
 mkdir dvd
 dvdauthor -o dvd/ -t *.mpeg2
 dvdauthor -o dvd/ -T

5.生成dvd.iso文件
 mkisofs  -dvd-video -o dvd.iso dvd

6.刻录dvd.iso到光盘
growisofs -speed=4 -Z  /dev/dvdrw=./dvd.iso



一次完成的一个批处理如下:
#!/bin/bash
mkdir dv
cd dv
echo #!/bin/bash >/usr/local/bin/dv2dvd.sh
echo ffmpeg -i \$1  -aspect 4:3 -target pal-dvd \${1%\.avi}.mpeg2 >>/usr/local/bin/dv2dvd.sh
chmod 755 /usr/local/bin/dv2dvd.sh
dvgrab --opendml --size 0 --autosplit --timestamp  dv
find . -name *.avi -exec dv2dvd.sh {} \;
mkdir dvd
dvauthor -o dvd/ -t *.mpeg2
dvauthor -o dvd/ -T
rm *.mpeg
mkisofs  -dvd-video -o dvd.iso dvd
growisofs -speed=4 -Z  /dev/dvdrw=./dvd.iso
rm dvd.iso




-----------------------------------------------------
1.如何去掉一个视频片断开头的20秒内容?
  答: ffmpeg -ss 20 -i xxx.dv   xxx.avi

责任编辑: admin